#ifndef __DAEMON_PROCESS_H__
#define __DAEMON_PROCESS_H__

#include <sys/types.h>

#define MAX_PROCESS_FAIL 10
#define EXE_PATH "/usr/bin/"

typedef struct
{
    char *param;     // 进程名称
    pid_t pid;      // 进程ID
    int fail_count; // 进程失败次数
} SubProcess_t;     // 进程结构体

/**
 * @brief 初始化进程
 * @param name 进程名称
 * @return SubProcess_t* 进程结构体指针
 */
SubProcess_t *daemon_process_init(const char *name);

/**
 * @brief 检查进程是否在运行，如果不在运行则启动进程
 * @param process 进程结构体指针
 * @return int 0:成功, 1:失败
 */
int daemon_process_checkExece(SubProcess_t *process);

/**
 * @brief 销毁进程
 */
void daemon_process_destroy(SubProcess_t *process);
#endif /* __DAEMON_PROCESS_H__ */
